/*
 * @Author: actor
 * @Date: 2023-11-13 15:44:14
 * @email: 395593455@qq.com
 * @LastEditors: actor
 * @LastEditTime: 2023-11-13 17:08:58
 * @FilePath: \i-hos-app\project\i-his\src\interface\emr\set.ts
 * @Description:
 */
// 仓库数据类型约束

export interface IPagingLine {
  _t: number | string
  _i: number | string
  _n: number | string
}

export interface ISetConfigType {
  _n?: string // 配置类型的名字
  _tp?: string // 配置类型和编辑操作的类型和配置图标类型
  _isCut?: string // 判断简版是否需要此项
  _dropDown?: string // 判断是否有下拉（对应下拉中要加载的组件）
}
export interface ISetType extends ISetConfigType {
  _dd_list?: ISetConfigType[] // 下拉列表富文本字符串
  _def_col?: string // 默认的颜色
  _pred_col?: string[] // 预定的颜色数组
}

export interface ISetHead extends ISetType {
  _s_l?: ISetType[] // 配置类型下的配置列表
}

export interface IPaperConfig {
  _label?: string | number // lable名称
  _val?: string | number // 选中值
  _w?: string | number // 宽度或上下边距尺寸
  _h?: string | number // 高度或左右边距尺寸
  _n?: string // name名称
}

export interface ISetPaper {
  _n: string // 纸张名字
  _w: number // 纸张宽度（单位mm）
  _h: number // 纸张高度（单位mm）
  _orien_n?: string // 纸张方向的中文名称
  _orien: number // 纸张方向（1：纵向， 2横向）
  _e_n?: string // 页边距的中文名称
  _e: number // 页面距（单位mm）
  _t_e?: number // 上边距（单位mm）
  _r_e?: number // 右边距（单位mm）
  _b_e?: number // 下边距（单位mm）
  _l_e?: number // 左边距（单位mm）
  _e_list?: IPaperConfig[]
}

export interface ISetPaperConfig {
  _pd: IPaperConfig[] // 纸张方向
  _ps: IPaperConfig[] // 纸张尺寸
  _pm: IPaperConfig[] // 纸张边距
}

export interface ISetEmrState {
  _emr_head_set: ISetHead[] // 页面纸张的配置
}

export interface ISetPaperState {
  _paper_visible: boolean // 电子病历页面设置控制
  _emr_paper_set: ISetPaper // 电子病历的头部配置
  _emr_paper_config: ISetPaperConfig
  $patch?: Function //修改store仓库方法
}

// // 仓库计算属性类型约束
// export type SetGetters = {
//     doubleCount: (state: ISetState) => number
//     username: (state: ISetState) => string
// }
// // 仓库数据操作类型约束
// export type SetActions = {
//     setCount: (count: number) => void
//   }
